package com.sz.common.pay.pingan.constant;

import java.util.ArrayList;
import java.util.List;

/**
 * Function: 支持银联验证的银行列表<br>
 * Author: siqishangshu <br>
 * Date: 2017-10-27 10:34:00

 银行类别	银行名称

 国有大型银行	     工商银行
                 建设银行
                 农业银行
                 中国银行
                 交通银行
                 邮储银行
 股份制商业银行	 广发银行
                 华夏银行
                 民生银行
                 平安银行
                 兴业银行
                 中信银行
                 招商银行
                 光大银行
                 浙商银行
                 渤海银行
                 恒丰银行
                 北京银行
                 浦发银行
 城商行与农商行等	 上海银行
                 南京银行
                 宁波银行
                 杭州银行
                 浙江民泰商业银行
                 浙江泰隆商业银行
                 浙江稠州商业银行
 */
public class UnionPayBankData {

    private static final List<UnionPayBank> BANK_DATA = new ArrayList<>();
    static {
        BANK_DATA.add(new UnionPayBank("102", "中国工商银行"));
        BANK_DATA.add(new UnionPayBank("105", "中国建设银行"));
        BANK_DATA.add(new UnionPayBank("103", "中国农业银行"));
        BANK_DATA.add(new UnionPayBank("104", "中国银行"));
        BANK_DATA.add(new UnionPayBank("301", "交通银行"));
        BANK_DATA.add(new UnionPayBank("403", "中国邮政储蓄银行"));
        BANK_DATA.add(new UnionPayBank("306", "广发银行股份有限公司"));
        BANK_DATA.add(new UnionPayBank("304", "华夏银行"));
        BANK_DATA.add(new UnionPayBank("305", "中国民生银行"));
        BANK_DATA.add(new UnionPayBank("307", "平安银行（原深圳发展银行）"));
        BANK_DATA.add(new UnionPayBank("309", "兴业银行"));
        BANK_DATA.add(new UnionPayBank("302", "中信银行"));
        BANK_DATA.add(new UnionPayBank("308", "招商银行"));
        BANK_DATA.add(new UnionPayBank("303", "中国光大银行"));
        BANK_DATA.add(new UnionPayBank("316", "浙商银行"));
        BANK_DATA.add(new UnionPayBank("318", "渤海银行"));
        BANK_DATA.add(new UnionPayBank("315", "恒丰银行"));
        BANK_DATA.add(new UnionPayBank("313", "北京银行"));
        BANK_DATA.add(new UnionPayBank("310", "上海浦东发展银行"));
        BANK_DATA.add(new UnionPayBank("325", "上海银行"));
        BANK_DATA.add(new UnionPayBank("313", "南京银行"));
        BANK_DATA.add(new UnionPayBank("313", "宁波银行"));
        BANK_DATA.add(new UnionPayBank("313", "杭州银行"));
        BANK_DATA.add(new UnionPayBank("313", "浙江民泰商业银行"));
        BANK_DATA.add(new UnionPayBank("313", "浙江泰隆商业银行"));
        BANK_DATA.add(new UnionPayBank("313", "浙江稠州商业银行"));
    }

    public static List<UnionPayBank> getUnionPayBanks(){
        return BANK_DATA;
    }

    public static UnionPayBank getBankByName(String name) {
        for (UnionPayBank unionPayBank : BANK_DATA) {
            if (unionPayBank.getName().equals(name)) {
                return unionPayBank;
            }
        }
        return null;
    }

    public static List getBanksByCode(String code) {
        List<UnionPayBank> unionPayBanks = new ArrayList<>();
        for (UnionPayBank unionPayBank : BANK_DATA) {
            if (unionPayBank.getCode().equals(code)) {
                unionPayBanks.add(unionPayBank);
            }
        }
        return unionPayBanks;
    }

}
